home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / Oberon⁄F™ 1.1 / Mac / Mod / MixedModeMgr (.txt) < prev    next >
Encoding:
Oberon Document  |  1995-03-19  |  7.1 KB  |  163 lines  |  [oODC/obnF]

  1. Documents.StdDocumentDesc
  2. Documents.DocumentDesc
  3. Containers.ViewDesc
  4. Views.ViewDesc
  5. Stores.StoreDesc
  6. Documents.ModelDesc
  7. Containers.ModelDesc
  8. Models.ModelDesc
  9. Stores.ElemDesc
  10. TextViews.StdViewDesc
  11. TextViews.ViewDesc
  12. TextModels.StdModelDesc
  13. TextModels.ModelDesc
  14. TextModels.AttributesDesc
  15. Geneva
  16. Geneva
  17. MODULE MacMixedModeMgr;
  18. IMPORT SYSTEM, MacTypes;
  19. CONST
  20.     HANDLE = 2;
  21.     CODE = 1;
  22.     kRoutineDescriptorVersion* = 7;
  23. (* MixedModeMagic Magic Cookie/Trap number *)
  24.     MixedModeMagic* = 0AAFEH;
  25.     kPascalStackBased* = 0;
  26.     kCStackBased* = 1;
  27.     kRegisterBased* = 2;
  28.     kD0DispatchedPascalStackBased* = 8;
  29.     kD1DispatchedPascalStackBased* = 12;
  30.     kD0DispatchedCStackBased* = 9;
  31.     kStackDispatchedPascalStackBased* = 14;
  32.     kThinkCStackBased* = 5;
  33.     kM68kISA* = 0;
  34.     kPowerPCISA* = 1;
  35.     kRegisterD0* = 0;
  36.     kRegisterD1* = 1;
  37.     kRegisterD2* = 2;
  38.     kRegisterD3* = 3;
  39.     kRegisterD4* = 8;
  40.     kRegisterD5* = 9;
  41.     kRegisterD6* = 10;
  42.     kRegisterD7* = 11;
  43.     kRegisterA0* = 4;
  44.     kRegisterA1* = 5;
  45.     kRegisterA2* = 6;
  46.     kRegisterA3* = 7;
  47.     kRegisterA4* = 12;
  48.     kRegisterA5* = 13;
  49.     kRegisterA6* = 14;
  50. (* A7 is the same as the PowerPC SP *)
  51.     kCCRegisterCBit* = 16;
  52.     kCCRegisterVBit* = 17;
  53.     kCCRegisterZBit* = 18;
  54.     kCCRegisterNBit* = 19;
  55.     kCCRegisterXBit* = 20;
  56.     kNoByteCode* = 0;
  57.     kOneByteCode* = 1;
  58.     kTwoByteCode* = 2;
  59.     kFourByteCode* = 3;
  60.     kProcDescriptorIsAbsolute* = 0;
  61.     kProcDescriptorIsRelative* = 1;
  62.     kFragmentIsPrepared* = 0;
  63.     kFragmentNeedsPreparing* = 2;
  64.     kUseCurrentISA* = 0;
  65.     kUseNativeISA* = 4;
  66.     kPassSelector* = 0;
  67.     kDontPassSelector* = 8;
  68.     kRoutineIsNotDispatchedDefaultRoutine* = 0;
  69.     kRoutineIsDispatchedDefaultRoutine* = 010H;
  70.     kSelectorsAreNotIndexable* = 0;
  71.     kSelectorsAreIndexable* = 1;
  72.     kCallingConventionWidth* = 4;
  73.     kCallingConventionPhase* = 0;
  74.     kCallingConventionMask* = 00FH;
  75.     kResultSizeWidth* = 2;
  76.     kResultSizePhase* = kCallingConventionWidth;
  77.     kResultSizeMask* = 030H;
  78.     kStackParameterWidth* = 2;
  79.     kStackParameterPhase* = 0+(kCallingConventionWidth + kResultSizeWidth);
  80.     kStackParameterMask* = 0FFFFFFC0H;
  81.     kRegisterResultLocationWidth* = 5;
  82.     kRegisterResultLocationPhase* = 0+(kCallingConventionWidth + kResultSizeWidth);
  83.     kRegisterParameterWidth* = 5;
  84.     kRegisterParameterPhase* = 0+(kCallingConventionWidth + kResultSizeWidth + kRegisterResultLocationWidth);
  85.     kRegisterParameterSizePhase* = 0;
  86.     kRegisterParameterSizeWidth* = 2;
  87.     kRegisterParameterWhichPhase* = kRegisterParameterSizeWidth;
  88.     kRegisterParameterWhichWidth* = 3;
  89.     kDispatchedSelectorSizeWidth* = 2;
  90.     kDispatchedSelectorSizePhase* = 0+(kCallingConventionWidth + kResultSizeWidth);
  91.     kDispatchedParameterPhase* = 0+(kCallingConventionWidth + kResultSizeWidth + kDispatchedSelectorSizeWidth);
  92.     kSpecialCaseSelectorWidth* = 6;
  93.     kSpecialCaseSelectorPhase* = kCallingConventionWidth;
  94.     kSpecialCaseSelectorMask* = 003F0H;
  95.     kComponentMgrResultSizeWidth* = 2;
  96.     kComponentMgrResultSizePhase* = kCallingConventionWidth + kSpecialCaseSelectorWidth;
  97.     kComponentMgrParameterWidth* = 2;
  98.     kComponentMgrParameterPhase* = kComponentMgrResultSizePhase + kComponentMgrResultSizeWidth;
  99.     kSpecialCase* = 00FH;
  100.     kSpecialCaseHighHook* = 0;
  101.     kSpecialCaseCaretHook* = 0;
  102.     kSpecialCaseEOLHook* = 1;
  103.     kSpecialCaseWidthHook* = 2;
  104.     kSpecialCaseTextWidthHook* = 2;
  105.     kSpecialCaseNWidthHook* = 3;
  106.     kSpecialCaseDrawHook* = 4;
  107.     kSpecialCaseHitTestHook* = 5;
  108.     kSpecialCaseTEFindWord* = 6;
  109.     kSpecialCaseProtocolHandler* = 7;
  110.     kSpecialCaseSocketListener* = 8;
  111.     kSpecialCaseTERecalc* = 9;
  112.     kSpecialCaseTEDoText* = 10;
  113.     kSpecialCaseGNEFilterProc* = 11;
  114.     kSpecialCaseMBarHook* = 12;
  115.     kSpecialCaseComponentMgr* = 13;
  116.     ISAType* = SHORTINT;
  117.     registerSelectorType* = INTEGER;
  118.     ProcInfoType* = LONGINT;
  119.     RoutineFlagsType* = INTEGER;
  120.     RDFlagsType* = SHORTINT;
  121.     RoutineRecordPtr* =  POINTER TO RoutineRecord;
  122.     RoutineRecordHandle* = POINTER [HANDLE] TO RoutineRecord;
  123.     RoutineRecord* = RECORD (MacTypes.Data)
  124.         procInfo*: ProcInfoType;
  125.         reserved1*: SHORTINT;
  126.         ISA*: ISAType;
  127.         routineFlags*: RoutineFlagsType;
  128.         procDescriptor*: MacTypes.ProcPtr;
  129.         reserved2*: LONGINT;
  130.         selector*: LONGINT;
  131.     END;
  132.     RoutineDescriptorPtr* = POINTER TO RoutineDescriptor;
  133.     RoutineDescriptorHandle* = POINTER [HANDLE] TO RoutineDescriptor;
  134.     RoutineDescriptor* = RECORD (MacTypes.Data)
  135.         goMixedModeTrap*: INTEGER;
  136.         version*: SHORTINT;
  137.         routineDescriptorFlags*: RDFlagsType;
  138.         reserved1*: LONGINT;
  139.         reserved2*: SHORTINT;
  140.         selectorInfo*: SHORTINT;
  141.         routineCount*: INTEGER;
  142.         routineRecords*: ARRAY 1 OF RoutineRecord;
  143.     END;
  144. PROCEDURE [CODE] NewRoutineDescriptor*(theProc: MacTypes.ProcPtr; theProcInfo: ProcInfoType; theISA: ISAType): MacTypes.UniversalProcPtr 070H, 000H, 0AAH, 059H;
  145. PROCEDURE [CODE] DisposeRoutineDescriptor*(theProcPtr: MacTypes.UniversalProcPtr) 070H, 001H, 0AAH, 059H;
  146. PROCEDURE [CODE] NewFatRoutineDescriptor*(theM68kProc: MacTypes.ProcPtr; thePowerPCProc: MacTypes.ProcPtr; theProcInfo: ProcInfoType): MacTypes.UniversalProcPtr 070H, 002H, 0AAH, 059H;
  147. PROCEDURE [CODE] NewRoutineDescriptor*(theProc: MacTypes.ProcPtr; theProcInfo: ProcInfoType; theISA: ISAType): MacTypes.UniversalProcPtr 05CH, 04FH, 02EH, 09FH;
  148. PROCEDURE [CODE] DisposeRoutineDescriptor*(theProcPtr: MacTypes.UniversalProcPtr) 058H, 04FH;
  149. PROCEDURE CallUniversalProc*(theProcPtr: MacTypes.UniversalProcPtr; procInfo: ProcInfoType; ...): LONGINT; C;
  150. PROCEDURE CallOSTrapUniversalProc*(theProcPtr: MacTypes.UniversalProcPtr; procInfo: ProcInfoType; ...): LONGINT; C;
  151.  END MacMixedModeMgr.
  152. TextControllers.StdCtrlDesc
  153. TextControllers.ControllerDesc
  154. Containers.ControllerDesc
  155. Controllers.ControllerDesc
  156. TextRulers.StdRulerDesc
  157. TextRulers.RulerDesc
  158. TextRulers.StdStyleDesc
  159. TextRulers.StyleDesc
  160. TextRulers.AttributesDesc
  161. Geneva
  162. Documents.ControllerDesc
  163.